<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Phing API Documentation</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta><link rel="stylesheet" href="css/jquery-ui.css" type="text/css"></link><link rel="stylesheet" href="css/docblox/jquery-ui-1.8.16.custom.css" type="text/css"></link><link rel="stylesheet" href="css/jquery.treeview.css" type="text/css"></link><link rel="stylesheet" href="css/theme.css" type="text/css"></link><script type="text/javascript" src="js/jquery-1.4.2.min.js"></script><script type="text/javascript" src="js/jquery-ui-1.8.2.custom.min.js"></script><script type="text/javascript" src="js/jquery.tools.min.js"></script><script type="text/javascript" src="js/jquery.cookie.js"></script><script type="text/javascript" src="js/jquery.treeview.js"></script><script type="text/javascript">
            $(document).ready(function() {
                $(".filetree").treeview({
                    collapsed: true,
                    persist: "cookie"
                });

                $("#accordion").accordion({
                    collapsible: true,
                    autoHeight:  false,
                    fillSpace:   true
                });

                $(".tabs").tabs();
            });
        </script></head><body><div xmlns="" id="content">
<script xmlns:dbx="http://docblox-project.org/xsl/functions">

      function filterElements()
      {
        inherited = !$('#show-inherited').hasClass('deselected');
        public    = !$('#show-public').hasClass('deselected');
        protected = !$('#show-protected').hasClass('deselected');
        private   = !$('#show-private').hasClass('deselected');

        $('div.public').each(function(index, val) {
            $(val).toggle(public && !($(val).hasClass('inherited_from') && !inherited));
        });
        $('div.protected').each(function(index, val) {
            $(val).toggle(protected && !($(val).hasClass('inherited_from') && !inherited));
        });
        $('div.private').each(function(index, val) {
            $(val).toggle(private && !($(val).hasClass('inherited_from') && !inherited));
        });
      }

      $(document).ready(function() {
        $('a.gripper').click(function() {
            $(this).nextAll('div.code-tabs').slideToggle();
            $(this).children('img').toggle();
            return false;
        });

        $('div.method code span.highlight,div.function code span.highlight,div.constant code span.highlight,div.property code span.highlight').css('cursor', 'pointer');

        $('div.method code span.highlight,div.function code span.highlight,div.constant code span.highlight,div.property code span.highlight').click(function() {
            $(this).parent().nextAll('div.code-tabs').slideToggle();
            $(this).parent().prevAll('a.gripper').children('img').toggle();
            return false;
        });

        $('div.code-tabs').hide();
        $('a.gripper').show();
        $('div.code-tabs:empty').prevAll('a.gripper').html('');

        $('#show-public, #show-protected, #show-private, #show-inherited')
            .css('cursor', 'pointer')
            .click(function(){
                $(this).toggleClass('deselected');
                if ($(this).hasClass('deselected')) {
                  $(this).fadeTo('fast', '0.4');
                } else {
                  $(this).fadeTo('fast', '1.0');
                }
                filterElements();
                return false;
            });
        $('#show-protected, #show-private').click();

        // add the sliding behaviour to the file navigation and show it
        // it is initially hidden for non-JS users.
        $("#file-nav-box").show().hover(function() {
            $("#file-nav-container").slideDown(400);
        }, function() {
            $("#file-nav-container").slideUp(400);
        });
      });

      
    </script><h1 xmlns:dbx="http://docblox-project.org/xsl/functions" class="file">parser/TargetHandler.php</h1>
<div xmlns:dbx="http://docblox-project.org/xsl/functions" id="file-nav-box">
<div id="file-nav-options">
              Show:
              <img src="images/icons/visibility_public.png" id="show-public"><img src="images/icons/visibility_protected.png" id="show-protected"><img src="images/icons/visibility_private.png" id="show-private"><span class="attribute" id="show-inherited">inherited</span>
</div>
<div id="file-nav-container">
<ul id="file-nav"><li>
<a href="#classes"><img src="images/icons/class.png" height="14">
                          Classes
                      </a><ul><li><a href="#%5CTargetHandler">\TargetHandler</a></li></ul>
</li></ul>
<div style="clear: left;"></div>
</div>
<div id="file-nav-tab">
              Table of Contents
          </div>
</div>
<a xmlns:dbx="http://docblox-project.org/xsl/functions" name="top" class="anchor"></a><div id="file-description">
<p xmlns:dbx="http://docblox-project.org/xsl/functions" class="short-description">The target handler class.</p>
<div xmlns:dbx="http://docblox-project.org/xsl/functions" class="long-description"><p>This class handles the occurance of a <target> tag and it's possible
nested tags (datatypes and tasks).</p></div>
</div>
<dl class="file-info">
<dt xmlns:dbx="http://docblox-project.org/xsl/functions">Author</dt>
<dd xmlns:dbx="http://docblox-project.org/xsl/functions">
<a href="mailto:andi@binarycloud.com">Andreas Aderhold</a>
         
    </dd>
<dt xmlns:dbx="http://docblox-project.org/xsl/functions">Copyright</dt>
<dd xmlns:dbx="http://docblox-project.org/xsl/functions">2001,2002 THYRELL. All rights reserved
         
    </dd>
<dt xmlns:dbx="http://docblox-project.org/xsl/functions">Package</dt>
<dd xmlns:dbx="http://docblox-project.org/xsl/functions">phing.parser
         
    </dd>
<dt xmlns:dbx="http://docblox-project.org/xsl/functions">Version</dt>
<dd xmlns:dbx="http://docblox-project.org/xsl/functions">$Revision: 914 $
         
    </dd>
</dl>
<a name="classes" class="anchor"></a><a xmlns:dbx="http://docblox-project.org/xsl/functions" id="\TargetHandler" class="anchor"></a><h2 xmlns:dbx="http://docblox-project.org/xsl/functions" class="class">\TargetHandler<div class="to-top"><a href="#top">jump to top</a></div>
</h2>
<div xmlns:dbx="http://docblox-project.org/xsl/functions" class="class">
<small class="package"><b>Package: </b>phing\parser</small><p class="short-description">The target handler class.</p>
<div class="long-description"><p>This class handles the occurance of a <target> tag and it's possible
nested tags (datatypes and tasks).</p></div>
<dl class="class-info">
<dt>Parent(s)</dt>
<dd><a href="db_parser_AbstractHandler.html#%5CAbstractHandler">\AbstractHandler</a></dd>
<dt>Author</dt>
<dd>
<a href="mailto:andi@binarycloud.com">Andreas Aderhold</a>
         
    </dd>
<dt>Copyright</dt>
<dd>2001,2002 THYRELL. All rights reserved
         
    </dd>
<dt>Version</dt>
<dd>$Revision: 914 $
         
    </dd>
</dl>
<h3>Properties</h3>
<div>
<a id="\TargetHandler::$configurator" class="anchor"></a><div class="property private">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/property.png" alt="Property"><img src="images/icons/visibility_private.png" style="margin-right: 5px" alt="private">\ProjectConfigurator
                 <span class="highlight">$configurator</span>= ''
                </code><div class="description">
<p class="short-description">The phing project configurator object</p></div>
<div class="code-tabs">
<div class="long-description"></div>
<strong>Details</strong><dl class="property-info">
<dt>Type</dt>
<dd><a href="db_parser_ProjectConfigurator.html#%5CProjectConfigurator">\ProjectConfigurator</a></dd>
</dl>
</div>
<div class="clear"></div>
</div>
<a id="\TargetHandler::$parentHandler" class="anchor"></a><div class="property public inherited_from ">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/property.png" alt="Property"><img src="images/icons/visibility_public.png" style="margin-right: 5px" alt="public">
                 <span class="highlight">$parentHandler</span>= 'null'
                </code><div class="description">
<span class="attribute">inherited</span><small>Inherited from:
                        <a href="db_parser_AbstractHandler.html#%5CAbstractHandler::%24%24parentHandler">\AbstractHandler::$$parentHandler</a></small>
</div>
<div class="code-tabs">
<strong>Default value</strong><code>null</code><strong>Details</strong><dl class="property-info">
<dt>Type</dt>
<dd>n/a</dd>
<dt>Inherited_from</dt>
<dd>
<a href="db_parser_AbstractHandler.html#%5CAbstractHandler::%24%24parentHandler">\AbstractHandler::$$parentHandler</a>
         
    </dd>
</dl>
</div>
<div class="clear"></div>
</div>
<a id="\TargetHandler::$parser" class="anchor"></a><div class="property public inherited_from ">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/property.png" alt="Property"><img src="images/icons/visibility_public.png" style="margin-right: 5px" alt="public">
                 <span class="highlight">$parser</span>= 'null'
                </code><div class="description">
<span class="attribute">inherited</span><small>Inherited from:
                        <a href="db_parser_AbstractHandler.html#%5CAbstractHandler::%24%24parser">\AbstractHandler::$$parser</a></small>
</div>
<div class="code-tabs">
<strong>Default value</strong><code>null</code><strong>Details</strong><dl class="property-info">
<dt>Type</dt>
<dd>n/a</dd>
<dt>Inherited_from</dt>
<dd>
<a href="db_parser_AbstractHandler.html#%5CAbstractHandler::%24%24parser">\AbstractHandler::$$parser</a>
         
    </dd>
</dl>
</div>
<div class="clear"></div>
</div>
<a id="\TargetHandler::$target" class="anchor"></a><div class="property private">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/property.png" alt="Property"><img src="images/icons/visibility_private.png" style="margin-right: 5px" alt="private">object
                 <span class="highlight">$target</span>= ''
                </code><div class="description">
<p class="short-description">Reference to the target object that represents the currently parsed
target.</p>the target instance</div>
<div class="code-tabs">
<div class="long-description"></div>
<strong>Details</strong><dl class="property-info">
<dt>Type</dt>
<dd>object</dd>
</dl>
</div>
<div class="clear"></div>
</div>
</div>
<h3>Methods</h3>
<div>
<a id="\TargetHandler::__construct()" class="anchor"></a><div class="method public">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/method.png" alt="method"><img src="images/icons/visibility_public.png" style="margin-right: 5px" alt="public"><span class="highlight">__construct</span><span class="nb-faded-text">(
          object $parser, object $parentHandler, object $configurator
          )
        </span>
        :
          void</code><div class="description"><p class="short_description">Constructs a new TargetHandler</p></div>
<div class="code-tabs">
<div class="long-description"><p>The constructor must be called by all derived classes.</p></div>
<strong>Parameters</strong><table class="argument-info">
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tr>
<th>$parser</th>
<td>object</td>
<td><em><p>the ExpatParser object</p></em></td>
</tr>
<tr>
<th>$parentHandler</th>
<td>object</td>
<td><em><p>the parent handler that invoked this handler</p></em></td>
</tr>
<tr>
<th>$configurator</th>
<td>object</td>
<td><em><p>the ProjectConfigurator object</p></em></td>
</tr>
</table>
</div>
<div class="clear"></div>
</div>
<a id="\TargetHandler::characters()" class="anchor"></a><div class="method public inherited_from ">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/method.png" alt="method"><img src="images/icons/visibility_public.png" style="margin-right: 5px" alt="public"><span class="highlight">characters</span><span class="nb-faded-text">(
          string $data
          )
        </span>
        :
          void</code><div class="description">
<span class="attribute">inherited</span><p class="short_description">Invoked by occurance of #PCDATA.</p>
<small>Inherited from:
                    <a href="db_parser_AbstractHandler.html#%5CAbstractHandler::characters()">\AbstractHandler::characters()</a></small>
</div>
<div class="code-tabs">
<div class="long-description"></div>
<strong>Parameters</strong><table class="argument-info">
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tr>
<th>$data</th>
<td>string</td>
<td><em><p>the name of the XML element</p></em></td>
</tr>
</table>
<strong>Details</strong><dl class="function-info">
<dt>Access</dt>
<dd>public
         
    </dd>
<dt>Exception</dt>
<dd>ExpatParserException if there is no CDATA but method
was called
         
    </dd>
</dl>
</div>
<div class="clear"></div>
</div>
<a id="\TargetHandler::endElement()" class="anchor"></a><div class="method public inherited_from ">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/method.png" alt="method"><img src="images/icons/visibility_public.png" style="margin-right: 5px" alt="public"><span class="highlight">endElement</span><span class="nb-faded-text">(
          string $name
          )
        </span>
        :
          void</code><div class="description">
<span class="attribute">inherited</span><p class="short_description">Gets invoked when a XML element ends.</p>
<small>Inherited from:
                    <a href="db_parser_AbstractHandler.html#%5CAbstractHandler::endElement()">\AbstractHandler::endElement()</a></small>
</div>
<div class="code-tabs">
<div class="long-description"><p>Can be overloaded by the child class. But should not. It hands
over control to the parentHandler of this.</p></div>
<strong>Parameters</strong><table class="argument-info">
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tr>
<th>$name</th>
<td>string</td>
<td><em><p>the name of the XML element</p></em></td>
</tr>
</table>
</div>
<div class="clear"></div>
</div>
<a id="\TargetHandler::finished()" class="anchor"></a><div class="method protected inherited_from ">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/method.png" alt="method"><img src="images/icons/visibility_protected.png" style="margin-right: 5px" alt="protected"><span class="highlight">finished</span><span class="nb-faded-text">(
          
          )
        </span>
        :
          void</code><div class="description">
<span class="attribute">inherited</span><p class="short_description">Gets invoked when element closes method.</p>
<small>Inherited from:
                    <a href="db_parser_AbstractHandler.html#%5CAbstractHandler::finished()">\AbstractHandler::finished()</a></small>
</div>
<div class="code-tabs"><div class="long-description"></div></div>
<div class="clear"></div>
</div>
<a id="\TargetHandler::init()" class="anchor"></a><div class="method public">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/method.png" alt="method"><img src="images/icons/visibility_public.png" style="margin-right: 5px" alt="public"><span class="highlight">init</span><span class="nb-faded-text">(
          string $tag, array $attrs
          )
        </span>
        :
          void</code><div class="description"><p class="short_description">Executes initialization actions required to setup the data structures
related to the tag.</p></div>
<div class="code-tabs">
<div class="long-description"><p>&lt;</p>

<p>p>
This includes:</p>

<ul>
<li>creation of the target object</li>
<li>calling the setters for attributes</li>
<li>adding the target to the project</li>
<li>adding a reference to the target (if id attribute is given)</li>
</ul></div>
<strong>Parameters</strong><table class="argument-info">
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tr>
<th>$tag</th>
<td>string</td>
<td><em><p>the tag that comes in</p></em></td>
</tr>
<tr>
<th>$attrs</th>
<td>array</td>
<td><em><p>attributes the tag carries</p></em></td>
</tr>
</table>
<strong>Throws</strong><table class="argument-info">
<thead><tr>
<th>Exception</th>
<th>Description</th>
</tr></thead>
<tr>
<td><a href="db_parser_ExpatParseException.html#%5CExpatParseException">\ExpatParseException</a></td>
<td><em>if attributes are incomplete or invalid</em></td>
</tr>
</table>
</div>
<div class="clear"></div>
</div>
<a id="\TargetHandler::startElement()" class="anchor"></a><div class="method public">
<a href="#" class="gripper"><img src="images/icons/arrow_right.png"><img src="images/icons/arrow_down.png" style="display: none;"></a><code><img src="images/icons/method.png" alt="method"><img src="images/icons/visibility_public.png" style="margin-right: 5px" alt="public"><span class="highlight">startElement</span><span class="nb-faded-text">(
          string $name, array $attrs
          )
        </span>
        :
          void</code><div class="description"><p class="short_description">Checks for nested tags within the current one. Creates and calls
handlers respectively.</p></div>
<div class="code-tabs">
<div class="long-description"><p>Must be overloaded by the child class. Throws an ExpatParseException
if there is no handler registered for an element.</p></div>
<strong>Parameters</strong><table class="argument-info">
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tr>
<th>$name</th>
<td>string</td>
<td><em><p>the tag that comes in</p></em></td>
</tr>
<tr>
<th>$attrs</th>
<td>array</td>
<td><em><p>attributes the tag carries</p></em></td>
</tr>
</table>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<small xmlns="" class="footer">Documentation was generated by <a href="http://docblox-project.org">DocBlox 0.17.1</a>.
    </small></body></html>
